home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Music
/
PLAY
/
MultiPlayer
/
MultiPlayer132Src.lha
/
player.i
< prev
next >
Wrap
Text File
|
1992-09-14
|
4KB
|
137 lines
* MultiPlayer
* Copyright (C) 1992 Bryan Ford
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* I (the author of MultiPlayer) can be contacted on the Internet at
* "bryan.ford@m.cc.utah.edu". See "Player.doc" for other addresses.
*
* $Id: player.i,v 4.2 92/07/12 08:28:29 BAF Exp Locker: BAF $
* Global header for assembly language modules
*
ifnd EXEC_TYPES_I
include "exec/types.i"
endc
ifnd EXEC_NODES_I
include "exec/nodes.i"
endc
ifnd BRY_GMOD_I
include "bry/gmod.i"
endc
CUSTOM equ $dff000 ; Custom chip address
CIAA equ $bfe001 ; CIA A registers
CIAB equ $bfd000 ; CIA B registers
RTSINST equ $4e75 ; Code for an RTS instruction
CLOCK equ 3579545 ; Audio clock frequency
ERRCOUNT equ 10 ; Errors stay in window for 1 second
SPECTRUMWIDTH equ 128
SPECTRUMHEIGHT equ 32
SPECTRUMRES equ 16
SCOPEWIDTH equ 64
SCOPEHEIGHT equ 32
NOTEWIDTH equ 128
NOTEHEIGHT equ 64
FFperF equ 3 ; Flash frames per frame
INFOCOLS equ 45 ; Number of columns in one line of the Info window
*** System flags (_sysflags)
BITDEF S,KILL,0
BITDEF S,TIMERUP,2
BITDEF S,WINDOWUP,3
BITDEF S,REPEAT,4
BITDEF S,SECOND,5
BITDEF S,FADEDONE,6
*** Play mode (_playmode)
PM_SEQUENCE equ 0
PM_RANDOM equ 1
PM_ONCE equ 2
PM_OVEROVER equ 3
PM_SEQUENCEONCE equ 4
*** Show mode (_showmode)
SM_NOTHING equ 0
SM_CLOCK equ 1
SM_SEQUENCE0 equ 2
SM_SEQUENCE1 equ 3
*** Flash flags (_flashflags)
BITDEF F,SPECTRUM,0
BITDEF F,SCOPE,1
BITDEF F,QSCOPE,2
BITDEF F,NOTES,3
BITDEF F,CHANNELS,4
*** Module type flags (modtype)
BITDEF MT,MODSPEED,0 ; Supports modspeed
BITDEF MT,SEQUENCE,1 ; Supports sequence display
BITDEF MT,REPEAT,2 ; Supports repeat detection
BITDEF MT,MODIFIED,3 ; Mod prefs have been changed
BITDEF MT,PROTRACKER,4 ; This is the Protracker player
BITDEF MT,FILTER,5 ; Filter can be controlled
BITDEF MT,JUMP,6 ; Module can jump to other positions
STRUCTURE FileSpec,0 ; Spec for a loaded file
APTR fs_Mem ; Pointer to start of memory
ULONG fs_FileSize ; Size of file
APTR fs_EndMem ; Pointer to end of memory
ULONG fs_AllocSize ; Size of allocated memory block
LABEL fs_SIZEOF
STRUCTURE ScopeChanData,0 ; Data for one channel of the scope
APTR scd_sample
UWORD scd_len
UWORD scd_rep
UWORD scd_pos
UWORD scd_inc
UWORD scd_per
WORD scd_pad
LABEL scd_SIZEOF
STRUCTURE ModNode,MLN_SIZE
UWORD mn_size
APTR mn_nameptr
LONG mn_dir
BYTE mn_volume
BYTE mn_balance
BYTE mn_speed
BYTE mn_filter
ULONG mn_endtime
BYTE mn_flags
BYTE mn_pad
LABEL mn_name
BITDEF MN,ENDFADE,1
BITDEF MN,PTTEMPO,2
BITDEF MN,NOTPROTRACKER,3
plstartret macro ; <label> ; Return code from player start routines
lea \1-gmod_InitMusic(pc),a0
move.l a0,d0
rts
endm